/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package network.messages;

import org.json.*;

/**
 * Mensagem enviada quando o jogador da um tiro
 * @author Vitor
 */
public class MensagemTiro extends Mensagem
{
    
    private final String ATTR_ID_CLIENTE = "idCliente";
	private final String ATTR_ANGULO_TIRO = "anguloTiro";
	private final String ATTR_POSICAO_X = "posicaoX";
	private final String ATTR_POSICAO_Y = "posicaoY";
    
    private int _idCliente;
	private double _anguloTiro;
	private int _posicaoX;
	private int _posicaoY;

	public int GetIdCliente()
    {
        return _idCliente;
    }

    public void SetIdCliente(int idCliente)
    {
        _idCliente = idCliente;
    }

	public double GetAnguloTiro()
	{
		return _anguloTiro;
	}

	public void SetAnguloTiro(double angulo)
	{
		_anguloTiro = angulo;
	}

	public int GetPosicaoX()
	{
		return _posicaoX;
	}

	public void SetPosicaoX(int posicaoX)
	{
		_posicaoX = posicaoX;
	}

	public int GetPosicaoY()
	{
		return _posicaoY;
	}

	public void SetPosicaoY(int posicaoY)
	{
		_posicaoY = posicaoY;
	}

    @Override
    public void Construct(JSONObject jsonObject)
    {
        try
        {
            _idCliente = jsonObject.getInt(ATTR_ID_CLIENTE);
			_anguloTiro = jsonObject.getDouble(ATTR_ANGULO_TIRO);
			_posicaoX = jsonObject.getInt(ATTR_POSICAO_X);
			_posicaoY = jsonObject.getInt(ATTR_POSICAO_Y);
        }
        catch(JSONException err)
        {
            err.printStackTrace();
        }
    }

    @Override
    public JSONObject GetJSONObject()
    {
        JSONObject jsonObject = new JSONObject();
        
        try
        {
            jsonObject.put(MensagemFactory.KIND_ATTR, MensagemFactory.KIND_MENSAGEM_TIRO);
            jsonObject.put(ATTR_ID_CLIENTE,_idCliente);
			jsonObject.put(ATTR_ANGULO_TIRO, _anguloTiro);
			jsonObject.put(ATTR_POSICAO_X, _posicaoX);
			jsonObject.put(ATTR_POSICAO_Y, _posicaoY);
        }
        catch(JSONException err)
        {
            err.printStackTrace();
        }
        
        return jsonObject;
    } 
}
